package com.molichuxing.services.infrastructure.bean;

import com.molichuxing.framework.bean.RootBean;

import java.io.Serializable;
import java.time.LocalDateTime;

public class SmsLogBean extends RootBean implements Serializable {
    /**
     * 主键 id
     */
    private Integer id;

    /**
     * 模板号码 template_code
     */
    private String templateCode;

    /**
     * 手机号 phone_number
     */
    private String phoneNumber;

    /**
     * 模板通道 channel
     */
    private Integer channel;

    /**
     * 异常状态 exception_state
     */
    private Integer exceptionState;

    /**
     * 异常信息 exception_information
     */
    private String exceptionInformation;

    /**
     * 参数json param_json
     */
    private String paramJson;

    /**
     * 签名 sign_name
     */
    private String signName;

    /**
     * 短信类型（0：默认，1：续订提醒（时间10天），2：续订提醒（时间7天），3：续订提醒（时间4天），4：续订提醒（里程一半），5：续订提醒（里程等于100），6：加购里程提醒（时间10天），7：加购里程提醒（时间7天），8：加购里程提醒（时间4天），9：加购里程提醒（时间1天），10：即将锁车提醒（时间），11：即将锁车提醒（里程），12：还车提醒） sms_type
     */
    private Short smsType;

    /**
     * 相应返回码 response_code
     */
    private String responseCode;

    /**
     * 响应的请求ID response_request_id
     */
    private String responseRequestId;

    /**
     * 响应的消息 response_message
     */
    private String responseMessage;

    /**
     * 响应的回执ID response_biz_id
     */
    private String responseBizId;

    /**
     * 创建时间 gmt_create
     */
    private LocalDateTime gmtCreate;

    /**
     * 更新时间 gmt_modified
     */
    private LocalDateTime gmtModified;

    /**
     * third_sms_log
     */
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     * @date 2019-10-25 13:06:58
     * @return id 主键
     */
    public Integer getId() {
        return id;
    }

    /**
     * 主键
     * @date 2019-10-25 13:06:58
     * @param id 主键
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 模板号码
     * @date 2019-10-25 13:06:58
     * @return template_code 模板号码
     */
    public String getTemplateCode() {
        return templateCode;
    }

    /**
     * 模板号码
     * @date 2019-10-25 13:06:58
     * @param templateCode 模板号码
     */
    public void setTemplateCode(String templateCode) {
        this.templateCode = templateCode == null ? null : templateCode.trim();
    }

    /**
     * 手机号
     * @date 2019-10-25 13:06:58
     * @return phone_number 手机号
     */
    public String getPhoneNumber() {
        return phoneNumber;
    }

    /**
     * 手机号
     * @date 2019-10-25 13:06:58
     * @param phoneNumber 手机号
     */
    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber == null ? null : phoneNumber.trim();
    }

    /**
     * 模板通道
     * @date 2019-10-25 13:06:58
     * @return channel 模板通道
     */
    public Integer getChannel() {
        return channel;
    }

    /**
     * 模板通道
     * @date 2019-10-25 13:06:58
     * @param channel 模板通道
     */
    public void setChannel(Integer channel) {
        this.channel = channel;
    }

    /**
     * 异常状态
     * @date 2019-10-25 13:06:58
     * @return exception_state 异常状态
     */
    public Integer getExceptionState() {
        return exceptionState;
    }

    /**
     * 异常状态
     * @date 2019-10-25 13:06:58
     * @param exceptionState 异常状态
     */
    public void setExceptionState(Integer exceptionState) {
        this.exceptionState = exceptionState;
    }

    /**
     * 异常信息
     * @date 2019-10-25 13:06:58
     * @return exception_information 异常信息
     */
    public String getExceptionInformation() {
        return exceptionInformation;
    }

    /**
     * 异常信息
     * @date 2019-10-25 13:06:58
     * @param exceptionInformation 异常信息
     */
    public void setExceptionInformation(String exceptionInformation) {
        this.exceptionInformation = exceptionInformation == null ? null : exceptionInformation.trim();
    }

    /**
     * 参数json
     * @date 2019-10-25 13:06:58
     * @return param_json 参数json
     */
    public String getParamJson() {
        return paramJson;
    }

    /**
     * 参数json
     * @date 2019-10-25 13:06:58
     * @param paramJson 参数json
     */
    public void setParamJson(String paramJson) {
        this.paramJson = paramJson == null ? null : paramJson.trim();
    }

    /**
     * 签名
     * @date 2019-10-25 13:06:58
     * @return sign_name 签名
     */
    public String getSignName() {
        return signName;
    }

    /**
     * 签名
     * @date 2019-10-25 13:06:58
     * @param signName 签名
     */
    public void setSignName(String signName) {
        this.signName = signName == null ? null : signName.trim();
    }

    /**
     * 短信类型（0：默认，1：续订提醒（时间10天），2：续订提醒（时间7天），3：续订提醒（时间4天），4：续订提醒（里程一半），5：续订提醒（里程等于100），6：加购里程提醒（时间10天），7：加购里程提醒（时间7天），8：加购里程提醒（时间4天），9：加购里程提醒（时间1天），10：即将锁车提醒（时间），11：即将锁车提醒（里程），12：还车提醒）
     * @date 2019-10-25 13:06:58
     * @return sms_type 短信类型（0：默认，1：续订提醒（时间10天），2：续订提醒（时间7天），3：续订提醒（时间4天），4：续订提醒（里程一半），5：续订提醒（里程等于100），6：加购里程提醒（时间10天），7：加购里程提醒（时间7天），8：加购里程提醒（时间4天），9：加购里程提醒（时间1天），10：即将锁车提醒（时间），11：即将锁车提醒（里程），12：还车提醒）
     */
    public Short getSmsType() {
        return smsType;
    }

    /**
     * 短信类型（0：默认，1：续订提醒（时间10天），2：续订提醒（时间7天），3：续订提醒（时间4天），4：续订提醒（里程一半），5：续订提醒（里程等于100），6：加购里程提醒（时间10天），7：加购里程提醒（时间7天），8：加购里程提醒（时间4天），9：加购里程提醒（时间1天），10：即将锁车提醒（时间），11：即将锁车提醒（里程），12：还车提醒）
     * @date 2019-10-25 13:06:58
     * @param smsType 短信类型（0：默认，1：续订提醒（时间10天），2：续订提醒（时间7天），3：续订提醒（时间4天），4：续订提醒（里程一半），5：续订提醒（里程等于100），6：加购里程提醒（时间10天），7：加购里程提醒（时间7天），8：加购里程提醒（时间4天），9：加购里程提醒（时间1天），10：即将锁车提醒（时间），11：即将锁车提醒（里程），12：还车提醒）
     */
    public void setSmsType(Short smsType) {
        this.smsType = smsType;
    }

    /**
     * 相应返回码
     * @date 2019-10-25 13:06:58
     * @return response_code 相应返回码
     */
    public String getResponseCode() {
        return responseCode;
    }

    /**
     * 相应返回码
     * @date 2019-10-25 13:06:58
     * @param responseCode 相应返回码
     */
    public void setResponseCode(String responseCode) {
        this.responseCode = responseCode == null ? null : responseCode.trim();
    }

    /**
     * 响应的请求ID
     * @date 2019-10-25 13:06:58
     * @return response_request_id 响应的请求ID
     */
    public String getResponseRequestId() {
        return responseRequestId;
    }

    /**
     * 响应的请求ID
     * @date 2019-10-25 13:06:58
     * @param responseRequestId 响应的请求ID
     */
    public void setResponseRequestId(String responseRequestId) {
        this.responseRequestId = responseRequestId == null ? null : responseRequestId.trim();
    }

    /**
     * 响应的消息
     * @date 2019-10-25 13:06:58
     * @return response_message 响应的消息
     */
    public String getResponseMessage() {
        return responseMessage;
    }

    /**
     * 响应的消息
     * @date 2019-10-25 13:06:58
     * @param responseMessage 响应的消息
     */
    public void setResponseMessage(String responseMessage) {
        this.responseMessage = responseMessage == null ? null : responseMessage.trim();
    }

    /**
     * 响应的回执ID
     * @date 2019-10-25 13:06:58
     * @return response_biz_id 响应的回执ID
     */
    public String getResponseBizId() {
        return responseBizId;
    }

    /**
     * 响应的回执ID
     * @date 2019-10-25 13:06:58
     * @param responseBizId 响应的回执ID
     */
    public void setResponseBizId(String responseBizId) {
        this.responseBizId = responseBizId == null ? null : responseBizId.trim();
    }

    /**
     * 创建时间
     * @date 2019-10-25 13:06:58
     * @return gmt_create 创建时间
     */
    public LocalDateTime getGmtCreate() {
        return gmtCreate;
    }

    /**
     * 创建时间
     * @date 2019-10-25 13:06:58
     * @param gmtCreate 创建时间
     */
    public void setGmtCreate(LocalDateTime gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    /**
     * 更新时间
     * @date 2019-10-25 13:06:58
     * @return gmt_modified 更新时间
     */
    public LocalDateTime getGmtModified() {
        return gmtModified;
    }

    /**
     * 更新时间
     * @date 2019-10-25 13:06:58
     * @param gmtModified 更新时间
     */
    public void setGmtModified(LocalDateTime gmtModified) {
        this.gmtModified = gmtModified;
    }

    /**
     *
     * @mbg.generated
     */
    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        SmsLogBean other = (SmsLogBean) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getTemplateCode() == null ? other.getTemplateCode() == null : this.getTemplateCode().equals(other.getTemplateCode()))
            && (this.getPhoneNumber() == null ? other.getPhoneNumber() == null : this.getPhoneNumber().equals(other.getPhoneNumber()))
            && (this.getChannel() == null ? other.getChannel() == null : this.getChannel().equals(other.getChannel()))
            && (this.getExceptionState() == null ? other.getExceptionState() == null : this.getExceptionState().equals(other.getExceptionState()))
            && (this.getExceptionInformation() == null ? other.getExceptionInformation() == null : this.getExceptionInformation().equals(other.getExceptionInformation()))
            && (this.getParamJson() == null ? other.getParamJson() == null : this.getParamJson().equals(other.getParamJson()))
            && (this.getSignName() == null ? other.getSignName() == null : this.getSignName().equals(other.getSignName()))
            && (this.getSmsType() == null ? other.getSmsType() == null : this.getSmsType().equals(other.getSmsType()))
            && (this.getResponseCode() == null ? other.getResponseCode() == null : this.getResponseCode().equals(other.getResponseCode()))
            && (this.getResponseRequestId() == null ? other.getResponseRequestId() == null : this.getResponseRequestId().equals(other.getResponseRequestId()))
            && (this.getResponseMessage() == null ? other.getResponseMessage() == null : this.getResponseMessage().equals(other.getResponseMessage()))
            && (this.getResponseBizId() == null ? other.getResponseBizId() == null : this.getResponseBizId().equals(other.getResponseBizId()))
            && (this.getGmtCreate() == null ? other.getGmtCreate() == null : this.getGmtCreate().equals(other.getGmtCreate()))
            && (this.getGmtModified() == null ? other.getGmtModified() == null : this.getGmtModified().equals(other.getGmtModified()));
    }

    /**
     *
     * @mbg.generated
     */
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getTemplateCode() == null) ? 0 : getTemplateCode().hashCode());
        result = prime * result + ((getPhoneNumber() == null) ? 0 : getPhoneNumber().hashCode());
        result = prime * result + ((getChannel() == null) ? 0 : getChannel().hashCode());
        result = prime * result + ((getExceptionState() == null) ? 0 : getExceptionState().hashCode());
        result = prime * result + ((getExceptionInformation() == null) ? 0 : getExceptionInformation().hashCode());
        result = prime * result + ((getParamJson() == null) ? 0 : getParamJson().hashCode());
        result = prime * result + ((getSignName() == null) ? 0 : getSignName().hashCode());
        result = prime * result + ((getSmsType() == null) ? 0 : getSmsType().hashCode());
        result = prime * result + ((getResponseCode() == null) ? 0 : getResponseCode().hashCode());
        result = prime * result + ((getResponseRequestId() == null) ? 0 : getResponseRequestId().hashCode());
        result = prime * result + ((getResponseMessage() == null) ? 0 : getResponseMessage().hashCode());
        result = prime * result + ((getResponseBizId() == null) ? 0 : getResponseBizId().hashCode());
        result = prime * result + ((getGmtCreate() == null) ? 0 : getGmtCreate().hashCode());
        result = prime * result + ((getGmtModified() == null) ? 0 : getGmtModified().hashCode());
        return result;
    }

    /**
     *
     * @mbg.generated
     */
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", templateCode=").append(templateCode);
        sb.append(", phoneNumber=").append(phoneNumber);
        sb.append(", channel=").append(channel);
        sb.append(", exceptionState=").append(exceptionState);
        sb.append(", exceptionInformation=").append(exceptionInformation);
        sb.append(", paramJson=").append(paramJson);
        sb.append(", signName=").append(signName);
        sb.append(", smsType=").append(smsType);
        sb.append(", responseCode=").append(responseCode);
        sb.append(", responseRequestId=").append(responseRequestId);
        sb.append(", responseMessage=").append(responseMessage);
        sb.append(", responseBizId=").append(responseBizId);
        sb.append(", gmtCreate=").append(gmtCreate);
        sb.append(", gmtModified=").append(gmtModified);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}